From: kaf24@firebug.cl.cam.ac.uk Date: Wed, 5 Oct 2005 13:06:23 +0000 (+0100) Subject: Fix DOM0_PHYSINFO to return correct value for total X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~16763^2~38^2~2 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https:/%22bookmarks:/%22man:///%22http:/www.example.com/cgi/%22https:/%22bookmarks:/%22man:/?a=commitdiff_plain;h=8101af546591d391f9068ef1623df2783b0efbd3;p=xen.git Fix DOM0_PHYSINFO to return correct value for total system memory. Signed-off-by: Keir Fraser --- diff --git a/xen/arch/x86/dom0_ops.c b/xen/arch/x86/dom0_ops.c index 983fc01b28..a3ba8cd864 100644 --- a/xen/arch/x86/dom0_ops.c +++ b/xen/arch/x86/dom0_ops.c @@ -186,7 +186,7 @@ long arch_do_dom0_op(dom0_op_t *op, dom0_op_t *u_dom0_op) pi->sockets_per_node = num_online_cpus() / (pi->threads_per_core * pi->cores_per_socket); pi->nr_nodes = 1; - pi->total_pages = max_page; + pi->total_pages = total_pages; pi->free_pages = avail_domheap_pages(); pi->cpu_khz = cpu_khz; memset(pi->hw_cap, 0, sizeof(pi->hw_cap)); diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c index 26697cd9ce..96908204b4 100644 --- a/xen/arch/x86/mm.c +++ b/xen/arch/x86/mm.c @@ -147,6 +147,7 @@ static struct domain *dom_xen, *dom_io; /* Frame table and its size in pages. */ struct pfn_info *frame_table; unsigned long max_page; +unsigned long total_pages; void __init init_frametable(void) { diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c index b955b7d8e4..f070b6303e 100644 --- a/xen/arch/x86/setup.c +++ b/xen/arch/x86/setup.c @@ -418,6 +418,7 @@ void __init __start_xen(multiboot_info_t *mbi) printk("System RAM: %luMB (%lukB)\n", nr_pages >> (20 - PAGE_SHIFT), nr_pages << (PAGE_SHIFT - 10)); + total_pages = nr_pages; init_frametable(); diff --git a/xen/include/asm-x86/mm.h b/xen/include/asm-x86/mm.h index c98924300e..a68538c0a7 100644 --- a/xen/include/asm-x86/mm.h +++ b/xen/include/asm-x86/mm.h @@ -156,6 +156,7 @@ static inline u32 pickle_domptr(struct domain *domain) extern struct pfn_info *frame_table; extern unsigned long max_page; +extern unsigned long total_pages; void init_frametable(void); int alloc_page_type(struct pfn_info *page, unsigned long type);